import numpy as np

__all__ = ['even_CNOT_10qubit_lam1s', 'even_CNOT_10qubit_lam2s', 'odd_CNOT_10qubit_lam1s', 'odd_CNOT_10qubit_lam2s']

even_CNOT_10qubit_lam1s = np.array([
	[0.0007188384538, 0.0026219497414, 0.0015496680743],  # qubit 0, X, Y, Z
	[0.0013697548210, 0.0015972844218, 0.0026786081192],  # qubit 1
	[0.0009840379484, 0.0015345232914, 0.0020274482252],  # qubit 2
	[0.0010863884090, 0.0001065144408, 0.0017631475265],  # qubit 3
	[0.0000000000000, 0.0000000000000, 0.0015495526495],  # qubit 4
	[0.0000000000000, 0.0023902359479, 0.0010958132238],  # qubit 5
	[0.0020257855184, 0.0021400855405, 0.0005788805915],  # qubit 6
	[0.0019446767565, 0.0014794883469, 0.0004834382590],  # qubit 7
	[0.0014522106481, 0.0009070535380, 0.0023264494057],  # qubit 8
	[0.0006858528793, 0.0010735326374, 0.0009854359356],  # qubit 9
])
even_CNOT_10qubit_lam2s = np.array([
	[  # qubit 0, qubit 1
		0.0004171448785, 0.0004000124513, 0.0000000000000,  # XX, XY, XZ
		0.0013544305447, 0.0006013215169, 0.0001360847576,  # YX, YY, YZ
		0.0002374506778, 0.0000000000000, 0.0000000000000,  # ZX, ZY, ZZ
	],
	[  # qubit 1, qubit 2
		0.0000000000000, 0.0014591789675, 0.0001143396436,
		0.0003231157903, 0.0003047123740, 0.0009723767925,
		0.0009163673808, 0.0014617357731, 0.0001052694463,
	],
	[  # qubit 2, qubit 3
		0.0007171705339, 0.0004325833089, 0.0017211740069,
		0.0010317935262, 0.0007849610247, 0.0009968302758,
		0.0000000000000, 0.0002774239964, 0.0000000000000,
	],
	[  # qubit 3, qubit 4
		0.0000000000000, 0.0004145140852, 0.0000000000000,
		0.0002399826614, 0.0014391631248, 0.0000000000000,
		0.0000000000000, 0.0000000000000, 0.0011609124234,
	],
	[  # qubit 4, qubit 5
		0.0000000000000, 0.0020571240593, 0.0000000000000,
		0.0011758015780, 0.0003494956822, 0.0005244052712,
		0.0003472416886, 0.0002517186965, 0.0008080793202,
	],
	[  # qubit 5, qubit 6
		0.0004431773843, 0.0000341754743, 0.0002432753686,
		0.0009004397971, 0.0000000000000, 0.0008233462545,
		0.0007495748739, 0.0007152515147, 0.0012941373561,
	],
	[  # qubit 6, qubit 7
		0.0006800975765, 0.0011992236472, 0.0010657734054,
		0.0005693122825, 0.0000110333258, 0.0005851477777,
		0.0008180286985, 0.0000000000000, 0.0002920344835,
	],
	[  # qubit 7, qubit 8
		0.0003609533666, 0.0006946695859, 0.0011090370933,
		0.0004346218145, 0.0000000000000, 0.0001599411535,
		0.0006980513828, 0.0000000000000, 0.0013271429858,
	],
	[  # qubit 8, qubit 9
		0.0009791413973, 0.0011589174283, 0.0001831596684,
		0.0003006216905, 0.0004491016202, 0.0010136247483,
		0.0010611984571, 0.0000000000000, 0.0012903240539,
	]
])

odd_CNOT_10qubit_lam1s = np.array([
	[0.0000000000000, 0.0014693600715, 0.0026627276453],  # qubit 0
	[0.0009620591518, 0.0010564395207, 0.0009723465495],  # qubit 1
	[0.0013388355933, 0.0010427760033, 0.0000000000000],  # qubit 2
	[0.0023105048745, 0.0014919297884, 0.0002082390859],  # qubit 3
	[0.0009261012701, 0.0007442025724, 0.0023443828473],  # qubit 4
	[0.0000000000000, 0.0007993187098, 0.0017095711268],  # qubit 5
	[0.0006089087327, 0.0003111400198, 0.0000000000000],  # qubit 6
	[0.0021851855014, 0.0006081573813, 0.0010763953485],  # qubit 7
	[0.0006056925257, 0.0008321612132, 0.0010019294656],  # qubit 8
	[0.0000000000000, 0.0017389696194, 0.0026542233490],  # qubit 9
])
odd_CNOT_10qubit_lam2s = np.array([
	[  # qubit 0, qubit 1
		0.0004237835913, 0.0003630373210, 0.0002848231897,
		0.0000000000000, 0.0000000000000, 0.0005966276473,
		0.0000000000000, 0.0007309942553, 0.0000015157442,
	],
	[  # qubit 1, qubit 2
		0.0015575541386, 0.0000000000000, 0.0005837913797,
		0.0001372174639, 0.0001625124553, 0.0009019187150,
		0.0000000000000, 0.0002304339894, 0.0000869601531,
	],
	[  # qubit 2, qubit 3
		0.0008090860326, 0.0009637438292, 0.0008743308693,
		0.0002868450783, 0.0013018963990, 0.0000797314206,
		0.0002635981122, 0.0001441857959, 0.0017425011303,
	],
	[  # qubit 3, qubit 4
		0.0007077367641, 0.0002408123508, 0.0006666894811,
		0.0000454529163, 0.0004523831237, 0.0003603372457,
		0.0000000000000, 0.0002380569629, 0.0004160620513,
	],
	[  # qubit 4, qubit 5
		0.0000000000000, 0.0011914765728, 0.0008437638617,
		0.0001668267636, 0.0009173528423, 0.0000000000000,
		0.0010055930809, 0.0000652947879, 0.0007740090482,
	],
	[  # qubit 5, qubit 6
		0.0003856405199, 0.0017265374157, 0.0011718305575,
		0.0003206445689, 0.0003806542922, 0.0009424159528,
		0.0005749526574, 0.0009080912917, 0.0012534980664,
	],
	[  # qubit 6, qubit 7
		0.0007253097676, 0.0000000000000, 0.0004465530507,
		0.0006274975328, 0.0000000000000, 0.0006127668507,
		0.0012447982973, 0.0006178629978, 0.0006609217767,
	],
	[  # qubit 7, qubit 8
		0.0002185124723, 0.0005693242109, 0.0007241280299,
		0.0007282630750, 0.0010641609267, 0.0001106725915,
		0.0000000000000, 0.0020606323308, 0.0003172806200,
	],
	[  # qubit 8, qubit 9
		0.0002306927820, 0.0008086945582, 0.0014672289588,
		0.0000000000000, 0.0009904281035, 0.0002488933528,
		0.0003356747248, 0.0000000000000, 0.0003655776749,
	]
])
